Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Краткая история JsHttpRequest, или почему вопрос "как подгрузить XML" неверен (jeno)
Author Message
jeno
Заглянувший



Joined: 05 Jan 2007
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jul 25, 2007 11:58 am (написано за 3 минуты 28 секунд)
   Post subject: обьясните как подгрузить XML (JsHttpRequest)
Reply with quote

пробил по поиску, вроде это не обсуждалось...
вообщем,хочу перейти с prototype на JsHttpRequest...
так как prototype весит ~95кб и там много лишнего... (мне нужно просто подгружать XML)
скачал архив с этой либой, нашел там даже JsHttpRequest-xml (по идее написано что она умеет работать только с xml, именно это мне и нужно...+весит 10кб всего)
пытаюсь получить данные, но оно мне выдает ошибку:
Code (any language): скопировать код в буфер обмена
вот так вот я получаю данные:
Code (JavaScript): скопировать код в буфер обмена
JsHttpRequest.query(
"index.php?p=mess&op=get_new",
{},
function(result, errors){alert(result);}
);
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Jul 26, 2007 12:28 am (спустя 12 часов 29 минут)
   Post subject:
Reply with quote


М

Читайте документацию на JsHttpRequest.

Перенесено из форума: JsHttpRequest :: JavaScript.
Перенесено в форум: Лень сходить в Поиск или почитать документацию.
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sun Jul 29, 2007 1:40 pm (спустя 3 дня 13 часов 12 минут; написано за 1 минуту 36 секунд)
   Post subject:
Reply with quote

извините, но у меня нечего всеравно не получается...
в файле "JsHttpRequest-xml.js" я t.loader присвоил значение "xml" (
Code (any language): скопировать код в буфер обмена
t.caching=false;
t.loader="xml";
t.session_name="PHPSESSID";
)...после этого, по идее, оно должно работать в режиме чтения xml..но не хочет :( т.е.нечего не поменялось, оно по прежнему выдает ту же ошибку...
Back to top
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Jul 29, 2007 4:18 pm (спустя 2 часа 37 минут; написано за 46 секунд)
   Post subject:
Reply with quote

Гость wrote:
оно должно работать в режиме чтения xml
Неверно. Загрузчик использует XMLHttpRequest, но это не означает, что он парсит XML. Данные приходят в формате JSON, если Вам интересно.
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sun Jul 29, 2007 5:33 pm (спустя 1 час 14 минут; написано за 1 минуту 52 секунды)
   Post subject:
Reply with quote

мне не нужно их парсить, просто нужно получить responseXML...
это реально?
Back to top
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sun Jul 29, 2007 5:35 pm (спустя 1 минуту 59 секунд; написано за 29 секунд)
   Post subject:
Reply with quote

а, то есть, он может получать данные только в JSON? :(
Back to top
jeno
Заглянувший



Joined: 05 Jan 2007
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Mon Jul 30, 2007 9:19 pm (спустя 1 день 3 часа 43 минуты; написано за 1 минуту 18 секунд)
   Post subject:
Reply with quote

подождите, если оно не умеет читать XML, так почему в доках написано что у него несколько режимов: script,form,xml,null (вроде так написано)
умаляю вас, обьясните все подробно пожалуйста!!
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Wed Aug 01, 2007 12:21 am (спустя 1 день 3 часа 2 минуты; написано за 11 минут 59 секунд)
   Post subject:
Reply with quote

jeno
Сначала был только загрузчик script, который был предложен Дмитрием в качестве альтернативы XmlHttpRequest, но более кроссбраузерный и позволяющий передавать данные из JS на сервер только методом GET, и соответственно много данных от клиента серверу было передать затруднительно.

Работал он примерно так: в конец страницы динамически прицеплялся тег <script src="backend.js.php?...данные"></script>

Сам backend.js.php генерировал примерно такой код:
Code (JavaScript): скопировать код в буфер обмена
span class="st0">' '  );
И код этот был корректным кодом на JavaScript. В этом и фишка была.

Но народ требовал поддержку POST и передачи большого количества данных на сервер (и я в частности этого добивался). В конце концов мной был написан простенький костыль, который позволял отправлять данные посредством XMLHttpRequest, причем методом POST. Назывался он XML_JsHttpRequest (по идее, его можно найти в поиске по форуму). В нём использовался следующий финт ушами: формат, в которои данные отдаются backend'ом, менялся совсем чуть-чуть, и потом запускался eval от responseText (впоследствии оказалось, что это самопальный аналог JSON). Никакого разбора XML не происходило (сгенерировать XML, кстати, нетрудно, и я даже это делал).

Далее Дмитрий переписал мой код заново, но с использованием той же идеи. Так появилось два режима работы -- script и xml. XML лишь означал, что данные получаются при помощи XMLHttpRequest как текст, а потом происходит их eval, с проверками на корректность результата. Соответственно, сама библиотека данные в формате XML читать не умеет и с подобным работать не будет.

Поэтому я бы Вам порекомендовал, уж если Вам очень хочется получить XML-дерево, используйте интерфейс XMLHttpRequest, он достаточно прост и удобен, но проигрывает в кроссбраузерности и удобству работы JsHttpRequest. Тем не менее, вполне терпимо.
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Aug 02, 2007 8:46 pm (спустя 1 день 20 часов 25 минут)
   Post subject:
Reply with quote


М

Перенесено из форума: Лень сходить в Поиск или почитать документацию.
Перенесено в форум: JsHttpRequest :: JavaScript.
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Thu Aug 02, 2007 9:10 pm (спустя 23 минуты; написано за 35 секунд)
   Post subject:
Reply with quote

Кстати, я наврал, моя реализация, использующая XMLHttpRequest, опять же поддерживала только метод GET. А Дмитрий уже переписал так, что можно и POST отправлять.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

Но если не поверите и все же попытаетесь - как только увидите, что все безрезультатно, удалите свой пост, пожалуйста. Модераторы тоже люди, нехорошо, если они погрязнут в тоннах спама.
     

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML